package com.wh.custom.service;

import com.wh.basic.vo.AjaxResult;
import com.wh.custom.dto.CustomAddValidationDto;
import com.wh.custom.dto.CustomSearchDto;
import com.wh.custom.pojo.Allocation;
import com.wh.custom.pojo.CustomMycustom;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wh.custom.dto.CustomMycustomQueryDto;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wh.custom.vo.CustomExport;
import com.wh.custom.vo.CustomExportDto;
import com.wh.custom.vo.CustomRecordVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
* 业务接口；
*/
public interface ICustomMycustomService extends IService<CustomMycustom> {

    /**
     * 分页查询
     * @param  customMycustomQueryDto 分页参数
     * @return
     */
    IPage<CustomMycustom> findByPage(CustomMycustomQueryDto customMycustomQueryDto);


    void allocation(Allocation allocation);

    void recovery(List<Long> ids);


    void export(HttpServletResponse response);
    void exportTemplate(HttpServletResponse response);

    AjaxResult importExcel(MultipartFile file);

    IPage<CustomMycustom> sort(CustomMycustomQueryDto customMycustomQueryDto);

    IPage<CustomMycustom> all(CustomMycustomQueryDto customMycustomQueryDto);

    IPage<CustomMycustom> findhighSeas(CustomMycustomQueryDto customMycustomQueryDto);


    IPage<CustomMycustom> mycustomer(CustomMycustomQueryDto customMycustomQueryDto);

    void mycustomerexport(Long LoginId,HttpServletResponse response);

    IPage<CustomMycustom> HighSeasSort(CustomMycustomQueryDto customMycustomQueryDto);

    Integer allNum();
    IPage<CustomMycustom>getAaaa(CustomSearchDto customSearchDto);
    IPage<CustomMycustom>getHighSeas(CustomSearchDto customSearchDto);
    IPage<CustomMycustom>getMyCustom(CustomSearchDto customSearchDto);

    Long checkCustomer(String phoneNumber);

    Integer addOrderCustomer(CustomMycustom customMycustom);

    void AddMycustom(CustomMycustom customMycustom);

    void updateCustomer(CustomMycustom customMycustom);

    Map<String,Object> phoneValidation(CustomAddValidationDto customAddValidationDto);

    Map<String, Object> getCustomDataCount(String type);



    void addCustomer( CustomMycustom customMycustom,Long LoginId);

    CustomExport exportSSL(List<CustomExportDto> exportDtos, String[] idArr);

    List<CustomRecordVo> getOrderMessageByOrderSn(String orderSn);

    void top(Integer id);

    void down(Integer id);

    void personalTop(Integer id);

    void personalDown(Integer id);
}
